iT邦幫忙

2024 iThome 鐵人賽

DAY 13
0
Python

30天學Python系列 第 13

Python的簡單數學問題應用

  • 分享至 

  • xImage
  •  

運用先前學到的知識來解決一些基本的數學和程式設計問題。

1.印出小於100的所有質數

lst = []  # 初始化一個空的列表,用來儲存質數
for i in range(1, 100):  # 外層迴圈,i 從 1 遍歷到 100
    b = 0  # 計數器 b,用來計算 i 的因數個數
    for j in range(1, i+1):  # 內層迴圈,j 從 1 遍歷到 i,檢查 i 是否能被 j 整除
        if i % j == 0:  # 如果 i 可以被 j 整除
            b += 1  # 將計數器 b 加 1,代表找到一個因數
    if b == 2:  # 如果 i 的因數剛好只有兩個,說明 i 是質數(只能被 1 和自己整除)
        lst.append(i)  # 將質數 i 加入列表 lst
print(f'在整數中<100的質數總共有{len(lst)}個,分別是{lst}')
# 輸出質數的總數以及質數列表

2.由鍵盤輸入一個整數n (1 < n),並計算下列公式的總和。

https://ithelp.ithome.com.tw/upload/images/20240912/20169364QDOeN6DOfQ.png

n = int(input('輸入一個整數: '))  # 從使用者輸入一個整數 n
a = 0  # 初始化變數 a,用來儲存總和結果
for i in range(2, n+1):  # 迴圈從 2 開始,直到 n(包括 n)
    a += 1 / (2 * i - 1)  # 根據公式累加 1 / (2*i - 1) 到變數 a 中
print('輸出: %.4f' % a)  # 輸出總和 a,格式化為小數點後四位

3.由鍵盤輸入一個整數n來列出不同大小的菱形

範例:https://ithelp.ithome.com.tw/upload/images/20240913/20169364b7vbdlIt2r.png

n = int(input('輸入一個整數: '))  # 從使用者輸入一個整數 n
for i in range(1, n*2):  # 外層迴圈,i 從 1 到 n*2-1,控制菱形的行數

  # 前半部分:從 1 到 n 行,構建菱形的上半部分
  if i <= n:  
    for j in range(n, i, -1):  # 打印空格,讓星號對齊到中間位置
      print(' ', end='')

    for k in range(0, i + (i - 1)):  # 打印星號,根據當前行數決定星號的數量
      print('*', end='')

  # 後半部分:從 n+1 到 n*2-1 行,構建菱形的下半部分
  else:
    for j in range(n, i):  # 打印空格,讓下半部分的星號保持對齊
      print(' ', end='')

    for k in range((2 * (i - n)), 2 * n - 1):  # 打印星號,數量隨行數遞減
      print('*', end='')

  print()  # 每列打印完後換行

上一篇
Python的range
下一篇
Python的for迴圈簡單設計
系列文
30天學Python30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言